When designing a user interface for graphical applications, a problem is that the same user interface elements may be displayed in a variety of configurations. For example, a drawing area such as a page or the like in which the user interface elements appear may be resized, whereby the elements need to be redrawn in the new size. A layout may change orientation from vertically stacked elements to a horizontal arrangement, or vice versa, for example, requiring a redrawing operation. Further, an element may add, delete or rearrange the information that it needs to display, requiring a redrawing operation. A designer needs to consider these many various configurations.
To provide a pleasant user experience to a user viewing the arranged elements, designers may want to have some appealing transition effect between the previous and new configurations. For example, instead of simply lurching from one configuration to another when a user resizes the element drawing area, or when an item is added or removed from an element, transitioning in an animated fashion may be desired. However, to resize certain elements such as text elements requires-computationally expensive layout operations. If a fair number of these operations need to take place during an animation operation, the animation smoothness suffers, which does not provide an appealing user experience.